#ifndef OLED_WATER_H
#define OLED_WATER_H

/**
 * @brief Initialize the OLED display.
 *
 * This function initializes the OLED display and prepares it for use.
 *
 * @return None
 * @author Maker Studio
 * @license Apache 2.0 
 */
void OledInit(void);

/**
 * @brief Display a Chinese character using font set 1.
 *
 * This function displays a single Chinese character at the specified position using the first font set.
 *
 * @param x X-coordinate in pixels
 * @param y Y-coordinate in pages of 8 pixels (i.e., page start address)
 * @param idx Index of the character in the font library
 * @return None
 * @author Maker Studio
 * @license Apache 2.0 
 */
void OledShowChinese1(uint8_t x, uint8_t y, uint8_t idx);

/**
 * @brief Display a Chinese character using font set 2.
 *
 * This function displays a single Chinese character at the specified position using the second font set.
 *
 * @param x X-coordinate in pixels
 * @param y Y-coordinate in pages of 8 pixels (i.e., page start address)
 * @param idx Index of the character in the font library
 * @return None
 * @author Maker Studio
 * @license Apache 2.0 
 */
void OledShowChinese2(uint8_t x, uint8_t y, uint8_t idx);

/**
 * @brief Task function for OLED display operations.
 *
 * This function serves as the task for handling OLED display operations, such as displaying fixed text.
 *
 * @param arg Argument passed to the task (unused)
 * @return None
 * @author Maker Studio
 * @license Apache 2.0 
 */
void OledTask(void *arg);

/**
 * @brief Initialize the OLED task.
 *
 * This function sets up and starts the OLED task which handles display operations.
 *
 * @return None
 * @author Maker Studio
 * @license Apache 2.0 
 */
void OledInitTask(void);

#endif // OLED_WATER_H